package com.ruoyi.project.oms.paeaAuType.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.spring.SpringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.project.oms.paeaAuType.mapper.PaeaAuTypeMapper;
import com.ruoyi.project.oms.paeaAuType.domain.PaeaAuType;
import com.ruoyi.project.oms.paeaAuType.service.IPaeaAuTypeService;
import com.ruoyi.common.utils.text.Convert;

/**
 * 监督类型Service业务层处理
 *
 * @author 关晓强
 * @date 2020-03-14
 */
@Service
public class PaeaAuTypeServiceImpl extends ServiceImpl<PaeaAuTypeMapper, PaeaAuType> implements IPaeaAuTypeService
{
    @Autowired
    private PaeaAuTypeMapper paeaAuTypeMapper;

    /**
     * 查询监督类型
     *
     * @param id 监督类型ID
     * @return 监督类型
     */
    @Override
    public PaeaAuType selectPaeaAuTypeById(String id)
    {
        return paeaAuTypeMapper.selectPaeaAuTypeById(id);
    }

    /**
     * 查询监督类型列表
     *
     * @param paeaAuType 监督类型
     * @return 监督类型
     */
    @Override
    public List<PaeaAuType> selectPaeaAuTypeList(PaeaAuType paeaAuType)
    {
        return paeaAuTypeMapper.selectPaeaAuTypeList(paeaAuType);
    }

    /**
     * 新增监督类型
     *
     * @param paeaAuType 监督类型
     * @return 结果
     */
    @Override
    public int insertPaeaAuType(PaeaAuType paeaAuType)
    {
        paeaAuType.setCreateTime(DateUtils.getNowDate());
        return paeaAuTypeMapper.insertPaeaAuType(paeaAuType);
    }

    /**
     * 修改监督类型
     *
     * @param paeaAuType 监督类型
     * @return 结果
     */
    @Override
    public int updatePaeaAuType(PaeaAuType paeaAuType)
    {
        paeaAuType.setUpdateTime(DateUtils.getNowDate());
        return paeaAuTypeMapper.updatePaeaAuType(paeaAuType);
    }

    /**
     * 删除监督类型对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deletePaeaAuTypeByIds(String ids)
    {
        return paeaAuTypeMapper.deletePaeaAuTypeByIds(Convert.toStrArray(ids));
    }

    /**
     * 删除监督类型信息
     *
     * @param id 监督类型ID
     * @return 结果
     */
    @Override
    public int deletePaeaAuTypeById(String id)
    {
        return paeaAuTypeMapper.deletePaeaAuTypeById(id);
    }

    /**
     * 查询所有监督类型
     *
     * @return 监督类型集合
     */
    @Override
    public List<PaeaAuType> selectPaeaAuTypeAll()
    {
        return SpringUtils.getAopProxy(this).selectPaeaAuTypeList(new PaeaAuType());
    }

    /**
     * 通过srnId查询监督类型
     * @param srnId
     * @return 监督类型集合
     */
    public List<PaeaAuType> selectPaeaAuTypesBySrnId(String srnId)
    {
        List<PaeaAuType> srnTypes = paeaAuTypeMapper.selectPaeaAuTypesBySrnId(srnId);
        List<PaeaAuType> paeaAuTypes = this.selectPaeaAuTypeAll();
        for (PaeaAuType paeaAuType : paeaAuTypes)
        {
            for (PaeaAuType srnType : srnTypes)
            {
                if (srnType.getCode().equals(paeaAuType.getCode()))
                {
                    paeaAuType.setRemark("true");
                    break;
                }
            }
        }
        return paeaAuTypes;
    }

    @Override
    public List<PaeaAuType> queryRiskType() {
        return paeaAuTypeMapper.queryRiskType();
    }
    @Override
    public List<PaeaAuType> findAuTypeByUserCode(String userCode){
        return paeaAuTypeMapper.findAuTypeByUserCode(userCode);
    }

    @Override
    public List<PaeaAuType> findAuTaskAssign(){
        return paeaAuTypeMapper.findAuTaskAssign();
    }
}
